home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 1 / QRZ Ham Radio Callsign Database - December 1993.iso / arrl / ax_25_2 < prev    next >
Text File  |  1993-11-21  |  33KB  |  759 lines

  1. 2.3.4.3.3  Frame Reject (FRMR) Response
  2.  
  3. 2.3.4.3.3.1  
  4.      The FRMR response frame is sent to report that the  receiver 
  5. of  a frame cannot successfully process that frame and  that  the 
  6. error condition is not correctable by sending the offending frame 
  7. again.  Typically this condition will appear when a frame without 
  8. an  FCS  error  has  been received  with  one  of  the  following 
  9. conditions:
  10.  
  11.  1.  The  reception of an invalid or not implemented  command  or 
  12.      response frame.
  13.  
  14.  2.  The reception of an I frame whose information field  exceeds 
  15.      the agreed-upon length.  (See 2.4.7.3, below.)
  16.  
  17.  3.  The  reception  of an improper N(R).  This  usually  happens 
  18.      when the N(R) frame has already been sent and  acknowledged, 
  19.      or when N(R) is out of sequence with what was expected.
  20.  
  21.      is  not  allowed, or the reception of a U or S  frame  whose 
  22.      length is incorrect.  Bits W and Y described in  2.3.4.3.3.2 
  23.      should both be set to one to indicate this condition.
  24.  
  25.       5.  The reception of a supervisory frame with the F bit set 
  26.      to  one,  except  during a  timer  recovery  condition  (see 
  27.      2.4.4.9), or except as a reply to a command frame sent  with 
  28.      the  P  bit  set to one. Bit W  (described  in  2.3.4.3.3.2) 
  29.      should be set to one.
  30.  
  31.  6.  The reception of an unexpected UA or DM response frame.  Bit 
  32.      W should be set to one.
  33.  
  34.  7.  The reception of a frame with an invalid N(S).  Bit W should be
  35.      set to one.
  36.  
  37.         An  invalid N(R) is defined as one which points to  an  I 
  38. frame  that previously has been transmitted and acknowledged,  or 
  39. an  I  frame which has not been transmitted and is not  the  next 
  40. sequential I frame pending transmission.
  41.   
  42.         An  invalid N(S) is defined as an N(S) that is  equal  to 
  43. the  last transmitted N(R)+k and is equal to the  received  state 
  44. variable  V(R),  where  k is the maximum  number  of  outstanding 
  45. information frames as defined in 2.4.7.4 below.
  46.  
  47.         An  invalid  or not implemented command  or  response  is 
  48. defined  as a frame with a control field that is unknown  to  the 
  49. receiver of this frame.
  50.  
  51. 2.3.4.3.3.2  
  52.      When a FRMR frame is sent, an information field is added  to 
  53. the  frame that contains additional information indicating  where 
  54. the  problem  occurred.  This information field is  three  octets 
  55. long and is shown in Fig. 9.
  56.  
  57.  
  58.  
  59.                      Information Field Bits
  60.  23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
  61.   0  0  0  0  Z  Y  X  W   V(R)    C   V(S)  0  Rejected Frame 
  62.                                    R            Control Field
  63.  
  64.              Fig. 9 -- FRMR frame information field
  65.  
  66.  
  67.  
  68.   Where:
  69.  
  70.   1.  The rejected frame control field carries the control  field 
  71.       of  the frame that caused the reject condition.  It  is  in 
  72.       bits 0-7 of the information field.
  73.  
  74.   2.  V(S)  is  the  current send state variable  of  the  device 
  75.  
  76.   3.  The  CR bit is set to zero to indicate the  rejected  frame 
  77.       was a command, or one if it was a response.
  78.  
  79.   4.  V(R)  is the current receive state variable of  the  device 
  80.       reporting rejection (bit 13 is the low bit).
  81.  
  82.   5.  If W is set to 1, the control field received was invalid or 
  83.       not implemented.
  84.  
  85.   6.  If  X  is  set  to 1, the  frame  that  caused  the  reject 
  86.       condition  was considered invalid because it was a U  or  S 
  87.       frame  that had an information field that is  not  allowed.  
  88.       Bit W must be set to 1 in addition to the X bit.
  89.  
  90.   7.  If  Y is set to 1, the control field received and  returned 
  91.       in   bits   exceeded  the  maximum   allowed   under   this 
  92.       recommendation in 2.4.7.3, below.
  93.  
  94.   8.  If  A is set to 1, the control field received and  returned 
  95.       in bits 1 to 8 contained an invalid N(R).
  96.  
  97.   9.  Bits 8, and 20 to 23 are set to 0.
  98.  
  99.  
  100. 2.3.4.3.4  Unnumbered Acknowledge (UA) Response
  101.  
  102.         The  UA  response  frame  is  sent  to  acknowledge   the 
  103. reception  and  acceptance of a SABM or DISC  command  frame.   A 
  104. received command is not actually processed until the UA  response 
  105. frame  is  sent.  Information fields are not permitted  in  a  UA 
  106. frame.
  107.  
  108. 2.3.4.3.5  Disconnected Mode (DM) Response
  109.  
  110.         The  disconnected  mode response is sent whenever  a  DXE 
  111. receives  a  frame  other  than a SABM or UI  frame  while  in  a 
  112. disconnected  mode.   It  is  also sent to  request  a  set  mode 
  113. command,  or  to indicate it cannot accept a  connection  at  the 
  114. moment.  The DM response does not have an information field.
  115.  
  116.         Whenever a SABM frame is a received, and it is determined 
  117. that  a  connection is not possible, a DM frame  shall  be  sent.  
  118. This  will  indicate  that the called  station  cannot  accept  a 
  119. connection at that time.
  120.  
  121.         While a DXE is in the disconnected mode, it will  respond 
  122. to  any command other than a SABM or UI frame with a DM  response 
  123. with the P/F bit set to 1.
  124.  
  125. 2.3.4.3.6  Unnumbered Information (UI) Frame
  126.  
  127.         The   Unnumbered  Information  frame  contains  PID   and 
  128. information fields and is used to pass information along the link 
  129. fields  to go back and forth on the link bypassing flow  control.  
  130. Since   these  frames  are  not  acknowledgeable,  if  one   gets 
  131. obliterated, there is no way to recover it.  A received UI  frame 
  132. with  the  P bit set shall cause a response  to  be  transmitted.  
  133. This response shall be a DM frame when in the disconnected  state 
  134. or  a  RR  (or  RNR, if appropriate)  frame  in  the  information 
  135. transfer state.
  136.  
  137. 2.3.5  Link Error Reporting and Recovery
  138.  
  139.         There are several link-layer errors that are  recoverable 
  140. without  terminating the connection.  These error situations  may 
  141. occur  as  a  result  of  malfunctions  within  the  DXE,  or  if 
  142. transmission errors occur.
  143.  
  144. 2.3.5.1  DXE Busy Condition
  145.  
  146.         When  a  DXE  becomes temporarily  unable  to  receive  I 
  147. frames,  such  as when receive buffers are full, it will  send  a 
  148. Receive Not Ready (RNR) frame.  This informs the other DXE   that 
  149. this  DXE  cannot handle any more I frames at the  moment.   This 
  150. condition is usually cleared by the sending of a UA, RR, REJ,  or 
  151. SABM command frame.
  152.  
  153. 2.3.5.2  Send Sequence Number Error
  154.  
  155.         If the send sequence number, N(S), of an otherwise error-
  156. free  received frame does not match the receive  state  variable, 
  157. V(R),  a  send sequence error has occurred, and  the  information 
  158. field will be discarded.  The receiver will not acknowledge  this 
  159. frame, or any other I frames, until N(S) matches V(R).  
  160.  
  161.         The  control  field of the erroneous I frame(s)  will  be 
  162. accepted so that link supervisory functions such as checking  the 
  163. P/F  bit can still be performed.  Because of this  updating,  the 
  164. retransmitted I frame may have an updated P bit and N(R).
  165.  
  166. 2.3.5.3  Reject (REJ) Recovery
  167.  
  168.         REJ  is  used  to request a retransmission  of  I  frames 
  169. following  the  detection  of a N(S) sequence  error.   Only  one 
  170. outstanding  "sent  REJ" condition is allowed at  a  time.   This 
  171. condition  is  cleared  when  the  requested  I  frame  has  been 
  172. received.
  173.  
  174.         A DXE receiving the REJ command will clear the  condition 
  175. by  resending all outstanding I frames (up to the  window  size), 
  176. starting with the one indicated in N(R) of the REJ frame.
  177.  
  178. 2.3.5.4  Time-out Error Recovery
  179.  
  180. 2.3.5.4.1  T1 Timer Recovery
  181.  
  182.         If  a DXE, due to a transmission error, does not  receive 
  183. in  a sequence of I frames, it will not detect  a  send-sequence-
  184. number  error,  and therefore will not transmit a REJ.   The  DXE 
  185. which transmitted the unacknowledged I frame(s) shall,  following 
  186. the  completion of time-out period T1, take appropriate  recovery 
  187. action  to determine when I frame retransmission should begin  as 
  188. described  in 2.4.4.9, below.  This condition is cleared  by  the 
  189. reception of an acknowledgement for the sent frame(s), or by  the 
  190. link being reset.  See 2.4.6.
  191.  
  192. 2.3.5.4.2  Timer T3 Recovery
  193.  
  194.         Timer  T3 is used to assure the link is still  functional 
  195. during  periods of low information transfer.  Whenever T1 is  not 
  196. running  (no  outstanding I frames), T3 is used  to  periodically 
  197. poll  the  other DXE of a link.  When T3 times out, a RR  or  RNR 
  198. frame  is transmitted as a command and with the P bit  set.   The 
  199. waiting  acknowledgement  procedure  (2.4.4.9,  below)  is   then 
  200. executed.
  201.  
  202. 2.3.5.5  Invalid Frame or FCS Error
  203.  
  204.         If  an invalid frame is received, or a frame is  received 
  205. with  an FCS error, that frame will be discarded with  no  action 
  206. taken.
  207.  
  208. 2.3.5.6  Frame Rejection Condition
  209.  
  210.         A  frame  rejection condition occurs  when  an  otherwise 
  211. error-free  frame  has been received with one of  the  conditions 
  212. listed in 2.3.4.3.3 above.
  213.  
  214.         Once  a  rejection  error occurs, no more  I  frames  are 
  215. accepted  (except for the examination of the P/F bit)  until  the 
  216. error is resolved.  The error condition is reported to the  other 
  217. DXE by sending a FRMR response frame.  See 2.4.5.
  218.  
  219. 2.4  Description of AX.25 Procedures
  220.  
  221.         The  following  describes the procedures used  to  setup, 
  222. use, and disconnect a balanced link between two DXE stations.
  223.  
  224. 2.4.1  Address Field Operation
  225.  
  226. 2.4.1.1  Address Information
  227.  
  228.         All   transmitted  frames  shall  have   address   fields 
  229. conforming  to  2.2.13, above.  All frames shall  have  both  the 
  230. destination device and the source device addresses in the address 
  231. field,  with the destination address coming first.   This  allows 
  232. many links to share the same RF channel.  The destination address 
  233. is  always  the address of the station(s) to receive  the  frame, 
  234. while the source address contains the address of the device  that 
  235. sent the frame.
  236.  
  237. sign if the point-to-multipoint operation is allowed.   Operation 
  238. with  destination addresses other than actual amateur call  signs 
  239. is a subject for further study.
  240.  
  241. 2.4.1.2  Command/Response Procedure
  242.  
  243.         AX.25  Version 2.0 has implemented  the  command/response 
  244. information   in  the  address  field.   In  order  to   maintain 
  245. compatibility    with   previous   versions   of    AX.25,    the 
  246. command/response information is conveyed using two bits.
  247.  
  248.         An  upward-compatible AX.25 DXE can determine whether  it 
  249. is  communicating  with  a DXE using an  older  version  of  this 
  250. protocol by testing the command/response bit information  located 
  251. in  bit 7 of the SSID octets of both the destination  and  source 
  252. address subfields.  If both C bits are set to zero, the device is 
  253. using  the  older protocol.  The newer version  of  the  protocol 
  254. always has one of these two bits set to one and the other set  to 
  255. zero, depending on whether the frame is a command or a response.
  256.  
  257.         The  command/response  information is  encoded  into  the 
  258. address field as shown in Fig. 10.
  259.  
  260.  
  261.  
  262.    Frame Type          Dest. SSID C-Bit    Source SSID C-Bit
  263.  
  264.   Previous versions             0                    0
  265.   Command (V.2.0)               1                    0
  266.   Response (V.2.0)              0                    1
  267.   Previous versions             1                    1
  268.  
  269.               Fig. 10 -- Command/Response encoding
  270.  
  271.  
  272.  
  273.         Since  all  frames  are  considered  either  commands  or 
  274. responses, a device shall always have one of the bits set to one, 
  275. and the other bit set to zero.
  276.  
  277.         The  use  of the command/response  information  in  AX.25 
  278. allows  S frames to be either commands or responses.   This  aids 
  279. maintenance   of  proper  control  over  the  link   during   the 
  280. information transfer state.
  281.  
  282. 2.4.2  P/F Bit Procedures
  283.  
  284.         The next response frame returned by the DXE to a SABM  or 
  285. DISC command with the P bit set to 1 will be a UA or DM  response 
  286. with the F bit set to 1.  
  287.  
  288.         The next response frame returned to an I frame with the P 
  289. bit  set  to 1, received during the information  transfer  state, 
  290. will be a RR, RNR, or REJ response with the F bit set to 1.
  291.         The next response frame returned to a supervisory command 
  292. frame  with the P bit set to 1, received during  the  information 
  293. transfer state, will be a RR, RNR, or REJ response frame with the 
  294. F bit set to 1.
  295.  
  296.         The  next  response frame returned to a S  or  I  command 
  297. frame  with  the  P bit set to 1, received  in  the  disconnected 
  298. state, will be a DM response frame with the F bit set to 1.
  299.  
  300.         The  P  bit  is used in  conjunction  with  the  time-out 
  301. recovery condition discussed in 2.3.5.4, above.
  302.  
  303.         When not used, the P/F bit is set to zero.
  304.  
  305. 2.4.3  Procedures For Link Set-Up and Disconnection
  306.  
  307. 2.4.3.1  LAPB Link Connection Establishment
  308.  
  309.         When  one DXE wishes to connect to another DXE,  it  will 
  310. send  a SABM command frame to that device and start  timer  (T1).  
  311. If  the other DXE is there and able to connect, it  will  respond 
  312. with  a UA response frame, and reset both of its  internal  state 
  313. variables  (V(S)  and V(R)).  The reception of  the  UA  response 
  314. frame  at  the  other  end will  cause  the  DXE  requesting  the 
  315. connection  to  cancel the T1 timer and set  its  internal  state 
  316. variables to 0.
  317.  
  318.         If the other DXE doesn't respond before T1 times out, the 
  319. device requesting the connection will re-send the SABM frame, and 
  320. start  T1  running  again.  The DXE should  continue  to  try  to 
  321. establish  a  connection  until it has  tried  unsuccessfully  N2 
  322. times.  N2 is defined in 2.4.7.2, below.
  323.  
  324.         If,  upon  reception of a SABM command, the  DXE  decides 
  325. that  it  cannot enter the indicated state, it should send  a  DM 
  326. frame.
  327.  
  328.         When  receiving a DM response, the DXE sending  the  SABM 
  329. should  cancel  its  T1 timer, and  not  enter  the  information-
  330. transfer state.  
  331.  
  332.         The  DXE sending a SABM command will ignore  and  discard 
  333. any  frames except SABM, DISC, UA, and DM frames from  the  other 
  334. DXE.
  335.  
  336.         Frames  other  than UA and DM in response to  a  received 
  337. SABM  will  be  sent  only after the link is set  up  and  if  no 
  338. outstanding SABM exists.
  339.  
  340. 2.4.3.2  Information-Transfer Phase
  341.  
  342.         After establishing a link connection, the DXE will  enter 
  343. the  information-transfer  state.  In this state,  the  DXE  will 
  344. accept  and  transmit I and S frames according to  the  procedure 
  345.  
  346.         When  receiving a SABM command while in the  information-
  347. transfer  state,  the  DXE will follow  the  resetting  procedure 
  348. outlined in 2.4.6 below.
  349.  
  350. 2.4.3.3  Link Disconnection
  351.  
  352. 2.4.3.3.1  
  353.      While  in  the information-transfer state,  either  DXE  may 
  354. indicate a request to disconnect the link by transmitting a  DISC 
  355. command frame and starting timer T1 (see 2.4.7).
  356.  
  357. 2.4.3.3.2  
  358.      A DXE, upon receiving a valid DISC command, shall send a  UA 
  359. response  frame  and enter the disconnected state.  A  DXE,  upon 
  360. receiving  a  UA  or DM response to a sent  DISC  command,  shall 
  361. cancel timer T1, and enter the disconnected state.
  362.  
  363. 2.4.3.3.3  
  364.      If  a UA or DM response is not correctly received before  T1 
  365. times out, the DISC frame should be sent again and T1  restarted.  
  366. If  this happens N2 times, the DXE should enter the  disconnected 
  367. state.
  368.  
  369. 2.4.3.4  Disconnected State
  370.  
  371. 2.4.3.4.1  
  372.      A  DXE  in  the disconnected state  shall  monitor  received 
  373. commands  and react upon the reception of a SABM as described  in 
  374. 2.4.3.1 above and will transmit a DM frame in response to a  DISC 
  375. command.
  376.  
  377. 2.4.3.4.2  
  378.      In the disconnected state, a DXE may initiate a link  set-up 
  379. as outlined in connection establishment above (2.4.3.1).  It  may 
  380. also  respond  to  the  reception  of  a  SABM  and  establish  a 
  381. connection, or it may ignore the SABM and send a DM instead.
  382.  
  383. 2.4.3.4.3  
  384.      Any  DXE receiving a command frame other than a SABM  or  UI 
  385. frame  with the P bit set to one should respond with a  DM  frame 
  386. with  the  F  bit  set to one.  The  offending  frame  should  be 
  387. ignored.
  388.  
  389. 2.4.3.4.4  
  390.      When  the DXE enters the disconnected state after  an  error 
  391. condition  or if an internal error has resulted in the DXE  being 
  392. in  the  disconnected  state, the DXE  should  indicate  this  by 
  393. sending  a  DM response rather than a DISC frame and  follow  the 
  394. link  disconnection procedure outlined in 2.4.3.3.3, above.   The 
  395. DXE  may then try to re-establish the link using the link  set-up 
  396. procedure outlined in 2.4.3.1, above.
  397.  
  398. 2.4.3.5  Collision Recovery
  399. 2.4.3.5.1  Collisions in a Half-Duplex Environment
  400.  
  401.         Collisions  of  frames in a half-duplex  environment  are 
  402. taken  care  of  by  the  retry  nature  of  the  T1  timer   and 
  403. retransmission count variable.  No other special action needs  to 
  404. be taken.
  405.  
  406. 2.4.3.5.2  Collisions of Unnumbered Commands
  407.  
  408.         If sent and received SABM or DISC command frames are  the 
  409. same,  both  DXEs  should  send a UA  response  at  the  earliest 
  410. opportunity, and both devices should enter the indicated state.
  411.  
  412.         If sent and received SABM or DISC commands are different, 
  413. both  DXEs should enter the disconnected state and transmit a  DM 
  414. frame at the earliest opportunity.
  415.  
  416. 2.4.3.5.3  Collision of a DM with a SABM or DISC
  417.  
  418.         When  an  unsolicited  DM  response  frame  is  sent,   a 
  419. collision  between it and a SABM or DISC may occur.  In order  to 
  420. prevent  this  DM from being misinterpreted, all  unsolicited  DM 
  421. frames  should  be transmitted with the F bit set to  zero.   All 
  422. SABM  and DISC frames should be sent with the P bit set  to  one.  
  423. This will prevent any confusion when a DM frame is received.
  424.  
  425. 2.4.3.6  Connectionless Operation
  426.  
  427.         In  Amateur  Radio,  there  is  an  additional  type   of 
  428. operation  that is not feasible using level 2 connections.   This 
  429. operation  is  the  round table, where several  amateurs  may  be 
  430. engaged  in one conversation.  This type of operation  cannot  be 
  431. accommodated by AX.25 link-layer connections.
  432.  
  433.         The   way   round-table  activity   is   implemented   is 
  434. technically  outside  the AX.25 connection, but still  using  the 
  435. AX.25 frame structure.
  436.  
  437.         AX.25 uses a special frame for this operation, called the 
  438. Unnumbered  Information (UI) frame.  When this type of  operation 
  439. is  used,  the  destination  address  should  have  a  code  word 
  440. installed  in  it to prevent the users of that  particular  round 
  441. table from seeing all frames going through the shared RF  medium.  
  442. An example of this is if a group of amateurs are in a round-table 
  443. discussion  about  packet  radio, they could put  PACKET  in  the 
  444. destination  address,  so  they would receive  frames  only  from 
  445. others in the same discussion.  An added advantage of the use  of 
  446. AX.25  in this manner is that the source of each frame is in  the 
  447. source  address  subfield,  so  software  could  be  written   to 
  448. automatically display who is making what comments.
  449.  
  450.         Since  this  mode  is connectionless, there  will  be  no 
  451. requests for retransmissions of bad frames.  Collisions will also 
  452. occur, with the potential of losing the frames that collided.
  453. 2.4.4  Procedures for Information Transfer
  454.  
  455.         Once  a  connection  has been  established,  as  outlined 
  456. above, both devices are able to accept I, S, and U frames.
  457.  
  458. 2.4.4.1  Sending I Frames
  459.  
  460.         Whenever  a DXE has an I frame to transmit, it will  send 
  461. the  I frame with N(S) of the control field equal to its  current 
  462. send  state  variable V(S).  Once the I frame is sent,  the  send 
  463. state  variable  is  incremented  by one.  If  timer  T1  is  not 
  464. running, it should be started.  If timer T1 is running, it should 
  465. be restarted.
  466.  
  467.         The DXE should not transmit any more I frames if its send 
  468. state variable equals the last received N(R) from the other  side 
  469. of  the link plus seven.  If it were to send more I  frames,  the 
  470. flow control window would be exceed, and errors could result.
  471.  
  472.         If  a  DXE is in a busy condition, it may  still  send  I 
  473. frames as long as the other device is not also busy.
  474.  
  475.         If  a  DXE is in the frame-rejection mode, it  will  stop 
  476. sending I frames.
  477.  
  478. 2.4.4.2  Receiving I Frames
  479.  
  480. 2.4.4.2.1  
  481.      If  a DXE receives a valid I frame (one with a  correct  FCS 
  482. and  whose  send sequence number equals  the  receiver's  receive 
  483. state variable) and is not in the busy condition, it will  accept 
  484. the  received I frame, increment its receive state variable,  and 
  485. act in one of the following manners:
  486.         
  487.  1.  If it has an I frame to send, that I frame may be sent with the
  488.      transmitted N(R) equal to its receive state variable V(R) (thus
  489.      acknowledging the received frame).  Alternately, the device may
  490.      send a RR frame with N(R) equal to V(R), and then send the I 
  491.      frame.
  492.  
  493.  2.  If there are no outstanding I frames, the receiving device will
  494.      send a RR frame with N(R) equal to V(R).  The receiving DXE may
  495.      wait a small period of time before sending the RR frame to be sure
  496.      additional I frames are not being transmitted.
  497.  
  498. 2.4.4.2.2      
  499.      If  the  DXE  is  in a busy condition,  it  may  ignore  any 
  500. received  I  frames without reporting this condition  other  than 
  501. repeating the indication of the busy condition.
  502.  
  503.         If  a busy condition exists, the DXE receiving  the  busy 
  504. condition   indication  should  poll  the  sender  of  the   busy 
  505. indication periodically until the busy condition disappears.  
  506.  
  507. frames with the P bit set to one.
  508.  
  509.         The  reception  of  I  frames  that  contain  zero-length 
  510. information  fields  shall be reported to the next level  but  no 
  511. information field will be transferred.
  512.  
  513. 2.4.4.3  Reception of Out of Sequence Frames
  514.  
  515.         When  an I frame is received with a correct FCS, but  its 
  516. send sequence number, N(S), does not match the current receiver's 
  517. receive  state  variable, the frame should be discarded.   A  REJ 
  518. frame  shall be sent with a receive sequence number equal to  one 
  519. higher (modulo 8) than the last correctly received I frame if  an 
  520. uncleared  N(S) sequence error condition has not been  previously 
  521. established.   The  received state variable and poll bit  of  the 
  522. discarded  frame should be checked and acted upon, if  necessary, 
  523. before discarding the frame.  
  524.  
  525. 2.4.4.4  Reception of Incorrect Frames
  526.  
  527.         When  a  DXE receives a frame with an incorrect  FCS,  an 
  528. invalid  frame, or a frame with an improper address,  that  frame 
  529. shall be discarded.
  530.  
  531. 2.4.4.5  Receiving Acknowledgement
  532.  
  533.         Whenever an I or S frame is correctly received, even in a 
  534. busy condition, the N(R) of the received frame should be  checked 
  535. to  see if it includes an acknowledgement of outstanding  sent  I 
  536. frames.   The T1 timer should be cancelled if the received  frame 
  537. actually  acknowledges previously unacknowledged frames.  If  the 
  538. T1  timer is cancelled and there are still some frames that  have 
  539. been sent that are not acknowledged, T1 should be started  again.  
  540. If  the T1 timer runs out before an acknowledgement is  received, 
  541. the  device  should proceed to the  retransmission  procedure  in 
  542. 2.4.4.9.
  543.  
  544. 2.4.4.6  Receiving Reject
  545.  
  546.         Upon receiving a REJ frame, the transmitting DXE will set 
  547. its  send  state variable to the same value as  the  REJ  frame's 
  548. received sequence number in the control field.  The DXE will then 
  549. retransmit  any  I  frame(s) outstanding at  the  next  available 
  550. opportunity conforming to the following:
  551.  
  552.  1.  If the DXE is not transmitting at the time, and the  channel 
  553.      is  open,  the  device  may commence  to  retransmit  the  I 
  554.      frame(s) immediately.
  555.  
  556.  2.  If   the   DXE  is  operating  on  a   full-duplex   channel 
  557.      transmitting  a UI or S frame when it receives a REJ  frame, 
  558.      it may finish sending the UI or S frame and then  retransmit 
  559.      the I frame(s).
  560.  
  561.      transmitting  another I frame when it receives a REJ  frame, 
  562.      it  may  abort  the  I  frame  it  was  sending  and   start 
  563.      retransmission of the requested I frames immediately.
  564.  
  565.  4.  The DXE may send just the one I frame outstanding, or it may 
  566.      send  more than the one indicated if more I frames  followed 
  567.      the  first  one not acknowledged, provided the total  to  be 
  568.      sent does not exceed the flow-control window (7 frames).
  569.  
  570.         If the DXE receives a REJ frame with the poll bit set, it 
  571. should  respond with either a RR or RNR frame with the final  bit 
  572. set before retransmitting the outstanding I frame(s).
  573.  
  574. 2.4.4.7  Receiving a RNR Frame
  575.  
  576.         Whenever  a  DXE  receives a RNR  frame,  it  shall  stop 
  577. transmission  of  I  frames until the  busy  condition  has  been 
  578. cleared.   If timer T1 runs out after the RNR was  received,  the 
  579. waiting  acknowledgement  procedure  listed  in  2.4.4.9,  below, 
  580. should  be  performed.  The poll bit may be used  in  conjunction 
  581. with  S  frames  to test for a change in  the  condition  of  the 
  582. busied-out DXE.
  583.  
  584. 2.4.4.8  Sending a Busy Indication
  585.  
  586.         Whenever a DXE enters a busy condition, it will  indicate 
  587. this  by sending a RNR response at the next  opportunity.   While 
  588. the  DXE is in the busy condition, it may receive and  process  S 
  589. frames,  and if a received S frame has the P bit set to one,  the 
  590. DXE should send a RNR frame with the F bit set to one at the next 
  591. possible  opportunity.   To  clear the busy  condition,  the  DXE 
  592. should  send either a RR or REJ frame with the received  sequence 
  593. number equal to the current receive state variable, depending  on 
  594. whether the last received I frame was properly received or not.
  595.  
  596. 2.4.4.9  Waiting Acknowledgement
  597.  
  598.         If timer T1 runs out waiting the acknowledgement from the 
  599. other DXE for an I frame transmitted, the DXE will restart  timer 
  600. T1  and transmit an appropriate supervisory command frame (RR  or 
  601. RNR)  with  the  P  bit set.  If the  DXE  receives  correctly  a 
  602. supervisory  response frame with the F bit set and with  an  N(R) 
  603. within  the  range from the last N(R) received to the  last  N(S) 
  604. sent  plus  one, the DXE will restart timer T1 and will  set  its 
  605. send  state  variable  V(S) to the received N(R).   It  may  then 
  606. resume   with   I  frame  transmission  or   retransmission,   as 
  607. appropriate.  If, on the other hand, the DXE receives correctly a 
  608. supervisory response frame with the F bit not set, or an I  frame 
  609. or  supervisory command frame, and with an N(R) within the  range 
  610. from  the last N(R) received to the last N(S) sent plus one,  the 
  611. DXE will not restart timer T1, but will use the received N(R)  as 
  612. an  indication of acknowledgement of transmitted I frames  up  to 
  613. and including I frame numbered N(R)-1.
  614.  
  615. with  the  F  bit set is received, the  DXE  will  retransmit  an 
  616. appropriate supervisory command frame (RR or RNR) with the P  bit 
  617. set.  After N2 attempts to get a supervisory response frame  with 
  618. the  F bit set from the other DXE, the DXE will initiate  a  link 
  619. resetting procedure as described in 2.4.6, below.
  620.  
  621. 2.4.5  Frame Rejection Conditions
  622.  
  623.         A  DXE  shall initiate the frame-reset procedure  when  a 
  624. frame  is received with the correct FCS and address field  during 
  625. the information-transfer state with one or more of the conditions 
  626. in 2.3.4.3.3, above.
  627.  
  628.         Under these conditions, the DXE will ask the other DXE to 
  629. reset  the  link by transmitting a FRMR response as  outlined  in 
  630. 2.4.6.3, below.
  631.  
  632.         After sending the FRMR frame, the sending DXE will  enter 
  633. the  frame reject condition.  This condition is cleared when  the 
  634. DXE that sent the FRMR frame receives a SABM or DISC command,  or 
  635. a DM response frame.  Any other command received while the DXE is 
  636. in the frame reject state will cause another FRMR to be sent  out 
  637. with the same information field as originally sent.
  638.  
  639.         In  the  frame rejection condition, additional  I  frames 
  640. will not be transmitted, and received I frames and S frames  will 
  641. be discarded by the DXE.
  642.  
  643.         The DXE that sent the FRMR frame shall start the T1 timer 
  644. when  the  FRMR is sent.  If no SABM or DISC  frame  is  received 
  645. before the timer runs out, the FRMR frame shall be retransmitted, 
  646. and   the  T1  timer  restarted  as  described  in  the   waiting 
  647. acknowledgement section (2.4.4.9) above.  If the FRMR is sent  N2 
  648. times without success, the link shall be reset.
  649.  
  650. 2.4.6  Resetting Procedure
  651.  
  652. 2.4.6.1  
  653.      The   resetting  procedure  is  used  to   initialize   both 
  654. directions  of  data  flow  after  a  nonrecoverable  error   has 
  655. occurred.   This resetting procedure is used in the  information-
  656. transfer state of an AX.25 link only.
  657.  
  658. 2.4.6.2  
  659.      A DXE shall initiate a reset procedure whenever it  receives 
  660. an unexpected UA response frame or an unsolicited response  frame 
  661. with  the  F bit set to one.  A DXE may also initiate  the  reset 
  662. procedure  upon receipt of a FRMR frame.  Alternatively, the  DXE 
  663. may  respond to a FRMR by terminating the connection with a  DISC 
  664. frame.
  665.  
  666. 2.4.6.3  
  667.      A  DXE  shall  reset the link by sending a  SABM  frame  and 
  668. starting  timer  T1.  Upon receiving a SABM frame  from  the  DXE 
  669. a  UA  frame back at the earliest opportunity, set its  send  and 
  670. receive  state  variables,  V(S) and V(R), to zero  and  stop  T1 
  671. unless it has sent a SABM or DISC itself.  If the UA is correctly 
  672. received by the initial DXE, it resets its send and receive state 
  673. variables, V(S) and V(R), and stops timer T1.  Any busy condition 
  674. that previously existed will also be cleared.
  675.  
  676.         If  a  DM response is received, the DXE  will  enter  the 
  677. disconnected  state  and  stop timer T1.  If timer  T1  runs  out 
  678. before  a UA or DM response frame is received, the SABM  will  be 
  679. retransmitted  and timer T1 restarted.  If timer T1 runs  out  N2 
  680. times,  the  DXE  will  enter the  disconnected  state,  and  any 
  681. previously existing link conditions will be cleared.
  682.  
  683.      Other  commands  or  responses received by  the  DXE  before 
  684. completion of the reset procedure will be discarded.
  685.  
  686. 2.4.6.4  
  687.      One  DXE  may request that the other DXE reset the  link  by 
  688. sending  a  DM response frame.  After the DM frame is  sent,  the 
  689. sending DXE will then enter the disconnected state.
  690.  
  691. 2.4.7  List of System Defined Parameters
  692.  
  693. 2.4.7.1  Timers
  694.  
  695.         To   maintain  the  integrity  of  the  AX.25   level   2 
  696. connection, use of these timers is recommended.
  697.  
  698. 2.4.7.1.1  Acknowledgement Timer T1
  699.  
  700.         The  first timer, T1, is used to make sure a DXE  doesn't 
  701. wait  forever  for a response to a frame it  sends.   This  timer 
  702. cannot be expressed in absolute time, since the time required  to 
  703. send frames varies greatly with the signaling rate used at  level 
  704. 1.   T1  should take at least twice the amount of time  it  would 
  705. take  to send maximum length frame to the other DXE, and get  the 
  706. proper response frame back from the other DXE.  This would  allow 
  707. time for the other DXE to do some processing before responding.
  708.  
  709.         If  level  2 repeaters are to be used, the  value  of  T1 
  710. should be adjusted according to the number of repeaters the frame 
  711. is being transferred through.
  712.  
  713. 2.4.7.1.2  Response Delay Timer T2
  714.  
  715.         The  second timer, T2, may be implemented by the  DXE  to 
  716. specify  a maximum amount of delay to be introduced  between  the 
  717. time an I frame is received, and the time the resulting  response 
  718. frame is sent.  This delay may be introduced to allow a receiving 
  719. DXE to wait a short period of time to determine if there is  more 
  720. than  one frame being sent to it.  If more frames  are  received, 
  721. the  DXE can acknowledge them at once (up to seven), rather  than 
  722. acknowledge  each individual frame.  The use of timer T2  is  not 
  723. Note  that, on full-duplex channels, acknowledgements should  not 
  724. be delayed beyond k/2 frames to achieve maximum throughput.   The 
  725. k parameter is defined in 2.4.7.4, below.
  726.  
  727. 2.4.7.1.3  Inactive Link Timer T3
  728.  
  729.         The third timer, T3, is used whenever T1 isn't running to 
  730. maintain  link integrity.  It is recommended that whenever  there 
  731. are  no  outstanding  unacknowledged I  frames  or  P-bit  frames 
  732. (during  the information-transfer state), a RR or RNR frame  with 
  733. the  P  bit set to one be sent every T3 time units to  query  the 
  734. status  of the other DXE.  The period of T3 is  locally  defined, 
  735. and  depends greatly on level 1 operation.  T3 should be  greater 
  736. than T1, and may be very large on channels of high integrity.
  737.  
  738. 2.4.7.2  Maximum Number of Retries (N2)
  739.  
  740.         The maximum number of retries is used in conjunction with 
  741. the T1 timer.
  742.  
  743. 2.4.7.3  Maximum Number of Octets in an I Field (N1)
  744.  
  745.         The maximum number of octets allowed in the I field  will 
  746. be 256.  There shall also be an integral number of octets.
  747.  
  748. 2.4.7.4  Maximum Number of I Frames Outstanding (k)
  749.  
  750.         The  maximum number of outstanding I frames at a time  is 
  751. seven.
  752.  
  753.                               END.
  754. --------------------------------------------------------------------------
  755.  
  756.  
  757.  
  758.  
  759.